1. Field of the Invention
The present invention relates to a method and an apparatus for controlling data transfer rates of data sources by guaranteeing that a marking threshold is a good estimate of the fair share of the available bandwidth to which data transfer rates are supposed to converge, when available bit rate service and variable bit rate service are simultaneously provided in asynchronous transfer mode networks.
2. Description of Related Art
A service category, called available bit rate (ABR), has recently been introduced in asynchronous transfer mode (ATM) networks to support applications that cannot be addressed efficiently by existing constant bit rate (CBR), variable bit rate (VBR), and unspecified bit rate (UBR) services. The introduction of ABR services has been motivated by the need for supporting traffic generated by highly-bursty data applications, where data packets are segmented into ATM cells. Most of these applications cannot predict their own traffic parameters, but have well-defined cell loss requirements, in order to avoid throughput collapse due to packet retransmission. For these applications, a static allocation of resources at call setup time, as is used in CBR and VBR, would either be wasteful or inadequate. In ABR, only lower and upper bounds on the bandwidth of a connection are specified at call setup, and the ABR service guarantees a cell loss rate only to those connections whose source dynamically adapts its traffic in accordance with feedback received from the network. One issue with this service is to ensure fairness among the connections.
The definition of the congestion control scheme used to generate feedback information from the network to dynamically regulate the cell generation process of each virtual connection (VC) relies on the use of special control cells called resource management (RM) cells, which are used to convey control information to the end points. Each data source regularly sends forward RM cells every NRM data cells, where NRM is the number of data cells corresponding to the RM cell. When the destination receives forward RM cells, it returns the RM cell to the data source as a backward RM cell. The switches in the network can also directly generate backward RM cells to communicate congestion to the source. The RM cell contains data transfer information that instructs the source to either increase or decrease its rate. In particular, RM cells contain a bit called congestion indication (CI) bit, which is used to have a source increase or decrease its rate by some predefined amount, and a field, called the ER field, to carry a 16-bit floating-point number representing the explicit rate, which is an upper bound on the rate that a connection is allowed to transmit. The RM cells also contain a field, called the current cell rate (CCR) field, which is set by the source to its current allowed cell rate (ACR) when it generates a forward RM cell.
Each switch in the network which receives ATM traffic, controls congestion by implementing at least one of three methods: 1) EFCI marking, where the switch only marks a control bit in the data cells to indicate congestion, and relies on the destinations to convey information back to the sources by properly marking RM cells; 2) relative rate (RR) marking, where the switch uses RM cells to provide binary feedback on its state of congestion to each source; or 3) explicit rate (ER) marking, where the switch uses RM cells to explicitly provide the allowed rate to each source.
When ABR traffic interacts with VBR traffic, however, the VBR traffic, which is highly-bursty, may introduce considerable congestion in the network and thus degrade the performance of ABR traffic. The extent of the problem and the possible solutions depend on whether at the switches the two types of traffic are queued in a single queue or, as it is more common in current-generation switches, are assigned different delay priorities, which are handled by separate queues. In the case where the two types of traffic share the same queue, highly-bursty VBR traffic can at times dominate the common queue and prevent ABR traffic queued behind it from being served. As a result, the queue length is not a reliable indicator of congestion caused by ABR traffic, and the ABR schemes which use the queue length as a congestion indicator perform poorly, causing unfairness in a network topology with multiple switches (this is true also in the case where the queue length is made equal to the number of ABR cells only, rather than to the total number of cells in the queue).
In the case where the two types of traffic are handled by separate queues and a work-conserving scheduling algorithm is used to share the link capacity between the two queues, the performance of ABR traffic depends on the rate at which VBR traffic is served when both queues are backlogged (since the scheduling algorithm is work conserving, when only a single queue is active, it is always served at the full rate). If VBR traffic is only served at a rate equal to (or close to) the average rate of VBR traffic, and ABR traffic is given the remaining bandwidth, the two types of traffic are fully isolated, and the ABR schemes using the queue length as a congestion indicator show the same good performance as in the case without VBR traffic. However, with highly-bursty VBR traffic, the buffer size necessary to accommodate the VBR queue with such a scheduling policy becomes very large; other parameters for VBR traffic, such as delay, are also negatively affected. For this reason, in practice, VBR traffic is typically served at a rate higher than its average rate. A common choice is to use strict priority for VBR traffic, and serve ABR traffic only when there are no cells waiting in the VBR queue. In this case, the two types of traffic interact with each other, and the ABR performance degrades. The length of the ABR queue experiences very wide variations, since its service rate is modulated by the activity of the VBR queue, and the ABR queue length cannot serve any more as a reliable indicator of congestion caused by the activity of the ABR sources. As a result, under these conditions ABR schemes using the queue length as a congestion indicator introduce considerable unfairness.
Many methods that can be implemented at the switches to control the data rates of the connections have been devised. Such existing methods, however, either do not perform satisfactorily, or have high implementation complexity. Furthermore, such existing methods perform poorly when ABR traffic interacts with VBR traffic, as it is the case in ATM networks. Thus, a method and an apparatus for controlling switch behavior which is simple to implement, guarantees control on buffer size, and guarantees fairness is desired. It is also desired that such method and apparatus achieves such good performance when ABR and VBR traffic interact.